<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Qt Creator setup guide | Butano Docs</title>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
  <link rel="stylesheet" href="m-dark+documentation.compiled.css" />
  <link rel="icon" href="favicon-dark.png" type="image/png" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta name="theme-color" content="#22272e" />
</head>
<body>
<header><nav id="navigation">
  <div class="m-container">
    <div class="m-row">
      <span id="m-navbar-brand" class="m-col-t-8 m-col-m-none m-left-m">
        <a href="https://github.com/GValiente/butano">Butano</a> <span class="m-breadcrumb">|</span> <a href="index.html" class="m-thin">Docs</a>
      </span>
      <div class="m-col-t-4 m-hide-m m-text-right m-nopadr">
        <a href="#search" class="m-doc-search-icon" title="Search" onclick="return showSearch()"><svg style="height: 0.9rem;" viewBox="0 0 16 16">
          <path id="m-doc-search-icon-path" d="m6 0c-3.31 0-6 2.69-6 6 0 3.31 2.69 6 6 6 1.49 0 2.85-0.541 3.89-1.44-0.0164 0.338 0.147 0.759 0.5 1.15l3.22 3.79c0.552 0.614 1.45 0.665 2 0.115 0.55-0.55 0.499-1.45-0.115-2l-3.79-3.22c-0.392-0.353-0.812-0.515-1.15-0.5 0.895-1.05 1.44-2.41 1.44-3.89 0-3.31-2.69-6-6-6zm0 1.56a4.44 4.44 0 0 1 4.44 4.44 4.44 4.44 0 0 1-4.44 4.44 4.44 4.44 0 0 1-4.44-4.44 4.44 4.44 0 0 1 4.44-4.44z"/>
        </svg></a>
        <a id="m-navbar-show" href="#navigation" title="Show navigation"></a>
        <a id="m-navbar-hide" href="#" title="Hide navigation"></a>
      </div>
      <div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m">
        <div class="m-row">
          <ol class="m-col-t-6 m-col-m-none">
            <li><a href="pages.html">Pages</a></li>
            <li><a href="modules.html">Modules</a></li>
          </ol>
          <ol class="m-col-t-6 m-col-m-none" start="3">
            <li><a href="namespaces.html">Namespaces</a></li>
            <li><a href="annotated.html">Classes</a></li>
            <li><a href="files.html">Files</a></li>
            <li class="m-show-m"><a href="#search" class="m-doc-search-icon" title="Search" onclick="return showSearch()"><svg style="height: 0.9rem;" viewBox="0 0 16 16">
              <use href="#m-doc-search-icon-path" />
            </svg></a></li>
          </ol>
        </div>
      </div>
    </div>
  </div>
</nav></header>
<main><article>
  <div class="m-container m-container-inflatable">
    <div class="m-row">
      <div class="m-col-l-10 m-push-l-1">
        <h1>
          Qt Creator setup guide
        </h1>
        <nav class="m-block m-default">
          <h3>Contents</h3>
          <ul>
            <li><a href="#qt_creator_getting_started">Getting started</a></li>
            <li><a href="#qt_creator_install">Install Qt Creator</a></li>
            <li><a href="#qt_creator_compilers">Compilers</a></li>
            <li><a href="#qt_creator_kit">Kit</a></li>
            <li><a href="#qt_creator_import">Import template project</a></li>
            <li><a href="#qt_creator_cpp_23">C++23</a></li>
            <li><a href="#qt_creator_include_paths">Include paths</a></li>
            <li><a href="#qt_creator_build_settings">Build settings</a></li>
            <li><a href="#qt_creator_run_settings">Run settings</a></li>
            <li><a href="#qt_creator_build_and_run">Build and run</a></li>
          </ul>
        </nav>
<p>Qt Creator is a cross-platform integrated development environment (IDE) built for the maximum developer experience. Qt Creator runs on Windows, Linux, and macOS desktop operating systems, and allows developers to create applications across desktop, mobile, and embedded platforms.</p><p>Since it has lots of C++ advanced features for a free IDE, it is a good fit for Butano projects.</p><p>This is a small tutorial for setting up Butano template project in Qt Creator 4.14. Although the guide has been made in Windows, the steps for other operating systems are similar if not the same.</p><section id="qt_creator_getting_started"><h2><a href="#qt_creator_getting_started">Getting started</a></h2><p>Before messing with Qt Creator, make sure that you are able to build and run Butano projects from the system console. The best way to achieve it is to read the <a href="getting_started.html" class="m-doc">guide to download, install and start using Butano</a>.</p></section><section id="qt_creator_install"><h2><a href="#qt_creator_install">Install Qt Creator</a></h2><p>If you don&#x27;t have Qt Creator installed yet, you can get it from <a href="https://www.qt.io/offline-installers">here</a>.</p><img class="m-image" src="qt_0.png" alt="Image" /></section><section id="qt_creator_compilers"><h2><a href="#qt_creator_compilers">Compilers</a></h2><p>Once you have Qt Creator installed, add <a href="https://devkitpro.org/">devkitARM</a> GCC and G++ compilers from <code>Tools -&gt; Options -&gt; Kits -&gt; Compilers</code>:</p><img class="m-image" src="qt_1.png" alt="Image" /><img class="m-image" src="qt_2.png" alt="Image" /></section><section id="qt_creator_kit"><h2><a href="#qt_creator_kit">Kit</a></h2><p>Add a new kit with the previous <a href="https://devkitpro.org/">devkitARM</a> compilers from <code>Tools -&gt; Options -&gt; Kits -&gt; Kits</code>:</p><img class="m-image" src="qt_3.png" alt="Image" /><p>You can ignore the yellow triangle: it is a warning, not an error.</p></section><section id="qt_creator_import"><h2><a href="#qt_creator_import">Import template project</a></h2><p>Now that you have the kit setup, import Butano template project from <code>File -&gt; New File or Project...</code>:</p><img class="m-image" src="qt_4.png" alt="Image" /><img class="m-image" src="qt_5.png" alt="Image" /><img class="m-image" src="qt_6.png" alt="Image" /><img class="m-image" src="qt_7.png" alt="Image" /></section><section id="qt_creator_cpp_23"><h2><a href="#qt_creator_cpp_23">C++23</a></h2><p>Enable C++23 support in the <code>template.cxxflags</code> file with the following line:</p><pre class="m-code"><span class="o">-</span><span class="n">std</span><span class="o">=</span><span class="n">c</span><span class="o">++</span><span class="mi">23</span></pre></section><section id="qt_creator_include_paths"><h2><a href="#qt_creator_include_paths">Include paths</a></h2><p>Add the following paths to the <code>template.includes</code> file:</p><pre class="m-code"><span class="n">include</span>
<span class="n">build</span>
<span class="p">..</span><span class="o">/</span><span class="n">butano</span><span class="o">/</span><span class="n">include</span></pre></section><section id="qt_creator_build_settings"><h2><a href="#qt_creator_build_settings">Build settings</a></h2><p>Disable <code>all</code> build target from <code>Projects -&gt; Build Settings -&gt; Build Steps</code>:</p><img class="m-image" src="qt_8.png" alt="Image" /></section><section id="qt_creator_run_settings"><h2><a href="#qt_creator_run_settings">Run settings</a></h2><p>Add your favorite GBA emulator from <code>Projects -&gt; Run Settings -&gt; Run</code>:</p><img class="m-image" src="qt_9.png" alt="Image" /></section><section id="qt_creator_build_and_run"><h2><a href="#qt_creator_build_and_run">Build and run</a></h2><p>Finally, build and run the template project by clicking at the bottom left arrow (the one without the roach please).</p><p>If everything went as expected, your GBA emulator of choice should show a nice black screen. Congrats!</p></section>
      </div>
    </div>
  </div>
</article></main>
<div class="m-doc-search" id="search">
  <a href="#!" onclick="return hideSearch()"></a>
  <div class="m-container">
    <div class="m-row">
      <div class="m-col-m-8 m-push-m-2">
        <div class="m-doc-search-header m-text m-small">
          <div><span class="m-label m-default">Tab</span> / <span class="m-label m-default">T</span> to search, <span class="m-label m-default">Esc</span> to close</div>
          <div id="search-symbolcount">&hellip;</div>
        </div>
        <div class="m-doc-search-content">
          <form>
            <input type="search" name="q" id="search-input" placeholder="Loading &hellip;" disabled="disabled" autofocus="autofocus" autocomplete="off" spellcheck="false" />
          </form>
          <noscript class="m-text m-danger m-text-center">Unlike everything else in the docs, the search functionality <em>requires</em> JavaScript.</noscript>
          <div id="search-help" class="m-text m-dim m-text-center">
            <p class="m-noindent">Search for symbols, directories, files, pages or
            modules. You can omit any prefix from the symbol or file path; adding a
            <code>:</code> or <code>/</code> suffix lists all members of given symbol or
            directory.</p>
            <p class="m-noindent">Use <span class="m-label m-dim">&darr;</span>
            / <span class="m-label m-dim">&uarr;</span> to navigate through the list,
            <span class="m-label m-dim">Enter</span> to go.
            <span class="m-label m-dim">Tab</span> autocompletes common prefix, you can
            copy a link to the result using <span class="m-label m-dim">⌘</span>
            <span class="m-label m-dim">L</span> while <span class="m-label m-dim">⌘</span>
            <span class="m-label m-dim">M</span> produces a Markdown link.</p>
          </div>
          <div id="search-notfound" class="m-text m-warning m-text-center">Sorry, nothing was found.</div>
          <ul id="search-results"></ul>
        </div>
      </div>
    </div>
  </div>
</div>
<script src="search-v2.js"></script>
<script src="searchdata-v2.js" async="async"></script>
<footer><nav>
  <div class="m-container">
    <div class="m-row">
      <div class="m-col-l-10 m-push-l-1">
        <p>Butano Docs. Created with <a href="https://doxygen.org/">Doxygen</a> 1.14.0 and <a href="https://mcss.mosra.cz/">m.css</a>.</p>
      </div>
    </div>
  </div>
</nav></footer>
</body>
</html>
